package cn.team11.smarteye.contract;

import android.graphics.drawable.Drawable;
import android.view.Surface;
import android.view.SurfaceView;

import cn.team11.smarteye.base.BasePresenter;
import cn.team11.smarteye.base.BaseView;
import cn.team11.smarteye.bean.CateyeEvent;
import io.reactivex.Observable;

/**
 * Created by Murphy on 2017/10/19.
 */

public interface VideoCallContract {

    interface View extends BaseView<Presenter>{

        void updateMuteBtState(boolean state);

        void updateScreenShotState(boolean state);
    }

    interface Presenter extends BasePresenter{

        /**开启视频通话*/
        String openVideoCall(String uid, Surface surface, boolean isPureAudio);
        /**开启语音通话*/
        String openAudioCall(String uid, SurfaceView view, Drawable d, boolean isPureAudio);
        /**挂断视频通话*/
        void hangupVideoCall(String sid);

        /**记录视频连接时间*/
        Observable<String> countVideoTime();

        /**开关静音*/
        void setAudioMute(String callId, boolean isMute);

        void enableSpeaker(String callid, boolean enable);

        /**视频截图*/
        void screenShot(String path);
    }

}
